#ifndef K_DEBUG_H
#define K_DEBUG_H
#pragma once

#if defined _DEBUG && !defined K_MSG_DBG_OFF
#   define KDebugMsg(...)   kTrace(true, __VA_ARGS__)
#   define KTraceMsg(...)   kTrace(false, __VA_ARGS__)
#else
#   define KDebugMsg(...)   ((void)0)
#   define KTraceMsg(...)   ((void)0)
#endif

#if defined _DEBUG && !defined K_LIB_DBG_OFF
#   define KDebugLib(...)   KDebugMsg(__VA_ARGS__)
#else
#   define KDebugLib(...)   ((void)0)
#endif

int kTrace(bool addCrLf, const char *format, ...);

#endif // K_DEBUG_H